package com.candy.candymember.config;

import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.annotation.Order;

/**
 * @author suYanLong
 * @version 1.0
 * @date 2023/3/15 9:56
 * @Description 描述
 */
@Order(6)
public class ApplicationContextInitializer01 implements ApplicationContextInitializer {

    @Override
    public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
        System.out.println("ApplicationContextInitializer01");

        // 应用场景
        // 流行的docker容器部署，当我们希望每次都是打同一个镜像，然后在实际运行的时候，根据不同的环境来决定当前镜像到底启用哪些配置文件，这时就有用了
        //比如我们通过容器的环境参数 app.env 来获取当前运行的环境，如果是prod，则激活application-prod.yml; 如果是test，则激活application-test.yml
        String getenv = System.getenv("app.env");
        System.out.println(getenv);
        configurableApplicationContext.getEnvironment().setActiveProfiles("pro");
    }

}
